﻿//==============================================================================  
//Copyright (C) 2012-2015 9UN.ORG. All rights reserved. 
//GUID：46172595-6b69-4526-b9da-426d663f5b05
//CLR Version: 4.0.30319.18033
//Code Author：Kevin Wang
//Contact：Email(Admin@9un.org),QQ(265382 or 74344)
//Filename：MediaLibraryFactory
//Namespace：RuanRang.Media.Core
//Functions：MediaLibraryFactory  
//Created by Kevin Wang at 2013/2/2 23:05:09 http://blog.9un.org
//============================================================================== 

#region Usings

using System;
using System.Runtime.InteropServices;

#endregion

namespace RuanRang.Media.Core.Internal.DataStructures
{
    /// <summary>
    /// Struct vlc_value_t
    /// </summary>
    [StructLayout(LayoutKind.Explicit, Size = 8)]
    public struct vlc_value_t
    {
        /// <summary>
        /// The i_int
        /// </summary>
        [FieldOffset(0)]
        public Int32 i_int;
        /// <summary>
        /// The b_bool
        /// </summary>
        [FieldOffset(0)]
        public Int32 b_bool;
        /// <summary>
        /// The f_float
        /// </summary>
        [FieldOffset(0)]
        [MarshalAs(UnmanagedType.R4)]
        public float f_float;
        /// <summary>
        /// The psz_string
        /// </summary>
        [FieldOffset(0)]
        public IntPtr psz_string;
        /// <summary>
        /// The p_address
        /// </summary>
        [FieldOffset(0)]
        public IntPtr p_address;
        /// <summary>
        /// The p_object
        /// </summary>
        [FieldOffset(0)]
        public IntPtr p_object;
        /// <summary>
        /// The p_list
        /// </summary>
        [FieldOffset(0)]
        public IntPtr p_list;
        /// <summary>
        /// The i_time
        /// </summary>
        [FieldOffset(0)]
        [MarshalAs(UnmanagedType.I8)]
        public Int64 i_time;
        //
        /// <summary>
        /// The psz_name
        /// </summary>
        [FieldOffset(0)]
        public IntPtr psz_name;
        /// <summary>
        /// The i_object_id
        /// </summary>
        [FieldOffset(4)]
        public Int32 i_object_id;
        //
        /// <summary>
        /// The coords_x
        /// </summary>
        [FieldOffset(0)]
        public Int32 coords_x;
        /// <summary>
        /// The coords_y
        /// </summary>
        [FieldOffset(4)]
        public Int32 coords_y;
    }
}
